Introduction

Two hundred and fifty years ago sailings ships were the engines of colonization and commerce. Where did they sail? How far and how long? We can gain some insight by making use of the Climatological Database for the World’s Oceans (CLIWOC), which includes 287K observations from logbooks of 946 ships from 8 countries, mostly British, Dutch, French, and Spanish) that made 4919 journeys. The digitized records are mostly from journeys between 1750 and 1850. These journey during this portion of the Age of Sail influenced (and sometimes directly motivated) by these historical events:


This data set only hints at the human drama: the strict and sometimes shockingly excessive punishment, the high mortality rate, the deprivations, and the near-unimaginable sufferings inherent in the slave trade. Or the triumphs of winning a hard-fought, costly battle, capturing an enemy ship, and, through many perils, bringing a fortune into one’s home port. Historical fiction brings this period to life. I recommend Patrick O’Brian’s Aubrey and Maturin series starting with Master and Commander. Or start with the movie Master and Commander: The Far Side of the World, which conflates events from a number of the books.


Nationality

After cleaning, the data set includes the following:


Nationality n_ships n_voyages n_observations n_days_enroute
BRITISH 384 1,972 90,394 92,772
DUTCH 155 584 36,822 38,464
SPANISH 151 716 39,435 43,449
FRENCH 74 220 7,488 7,937
AMERICAN 2 2 195 196
SWEDISH 1 2 335 614
HAMBURG 1 1 130 66
DANISH 1 1 116 59
Total 769 3,498 174,915 183,557



Duration and distance

Unlike the land-bound, for sailors, the sea shore is the dangerous edge, and daily life happens on the seas, their medium of travel. Considered as a whole, most voyages in this data set lasted about seven weeks. Spanish and Dutch voyages were longest on average, since their colonial and commercial ties were further away; French ships’ destinations were mostly closer to home in the North Atlantic and Caribbean.



Wind to a sailor is what money is to life on shore.
–Sterlin Hayden


There was great variability in the distance ships traveled in a day. In addition to differences in ships’ designs and the degree to which their bottoms were foul with marine growth, sometimes the winds didn’t blow or blew in the wrong direction. Sometimes there wasn’t a need to put sails, spars, and masts at risk to eke out all possible speed. Sometimes there just wasn’t far to go.

While the wind can be capricious most anywhere, the doldrums are justly named: ships could drift for weeks in the heat, rolling uncomfortably and running low on fresh water.

Down dropt the breeze, the sails dropt down,
’Twas sad as sad could be;
And we did speak only to break
The silence of the sea!

All in a hot and copper sky,
The bloody Sun, at noon,
Right up above the mast did stand,
No bigger than the Moon.

Day after day, day after day,
We stuck, nor breath nor motion; As idle as a painted ship
Upon a painted ocean.

Water, water, every where,
And all the boards did shrink;
Water, water, every where,
Nor any drop to drink.

From The Rime of the Ancient Mariner, by Samuel Taylor Coleridge

At other times the wind was just right, and life was easy–or at least easier.

The fair breeze blew, the white foam flew,
The furrow followed free:
We were the first that ever burst
Into that silent sea.

From The Rime of the Ancient Mariner, by Samuel Taylor Coleridge

Even so, the distribution of distances traveled per day is remarkably similar:



Journeys of longer duration in this data set typically include gaps in the observation dates without increases in distance as seen in the plot of British ships below. These horizontal lines indicate time in port, or less likely: side trips missing in the logs. I will assume time in port.



The British and Dutch ships spent proportionally longer in port. This dynamic could have been due to the need for repairs after a trip around the South African cape, or possibly it could be a willingness to station a ship at a port for longer periods of time.



Countries

After counting the countries of the origin and destination, I offer these observations:

  • The major colonial powers are well represented, as are locations of principal bases and colonies, the latter including India, Uruguay (location of Montevideo and the River Plate), South Africa (key colony and port at the Cape for British and Dutch at different times),
  • Islands are of far greater importance and familiarity to sailors than to the rest of us, and there sure are a lot of them.



About the data set

Each row of data (“record”) in the data set corresponds to one observation, typically:

  • Made at noon local time, recording location (lat/lon) and weather conditions
  • One observation each day of the voyage, except when a ship stays in port

I filtered out the following records:

  • Voyages less than 2 days or greater than 2 years, since both cases are likely data errors
  • Records missing latitude, longitude, or the date of observation
  • Voyages starting earlier than 1750 or later than 1815 (start date is recorded in VoyageIni)
  • Voyages with a gap of missing dates a year or longer in duration
  • Multiple observations on the same day by the same ship (uniquely identified by ShipName and VoyageIni)
  • Single data points that were more than 1000 km from the previous data point, which removed some erroneous data

Where there are straight lines in the plotted tracks we can infer there are missing records.

It’s worth noting some other considerations:

  • Some logbooks include stops in multiple ports as part of a single voyage. Others break a long journey into multiple voyages (a voyage being defined as a unique combination of ShipName and VoyageIni voyage start date; each voyage has a VoyageFrom and VoyageTo, and for most I manually normalized port names in port_from and port_to) and added country_from and country_to.

  • We don’t know how these particular logbooks were chosen, so it’s best to assume we have a convenience sample, which limits the kinds of inferences and generalizations we can make.

  • It’s not possible to determine from the data set alone when multiple ships share the same name. Typically names are not in use concurrently within one country or company, however it’s not uncommon for a name to be revived some years after the demise of previous ship of that name.

  • I refer to colonies and countries by their current name in English. In cases of cities and geographic entities (capes, points, bays, rivers) being part of the origin or destination, I generally use current names, except where old names are very well known (for example, Bombay, Madras, Calcutta all have new names, which I didn’t use). In some cases I substitute a larger city very close to the small city or fort (for example, Middelburg instead of Vlissingen and Rammekens), and in some cases I have kept the French or Spanish name. I determined the “normalized” port names and added countries by inspecting the port names, plotting the routes, and triangulating via Wikipedia, Google Maps, and Google search. It’s possible a small minority of my inferences are incorrect.

  • While the motivation and funding for digitizing these logs was to make weather data available for analysis, I’m ignoring that and focusing on the voyage tracks.

Even with these considerations there is a lot we can learn by plotting the locations recorded each day, which reveals the track of each voyage within the limits of accuracy available at the time with a sextant, marine chronometer, and alamanac.–or when the weather did not cooperate, by dead reckoning.


Maps: North Atlantic and Northwest America

Voyages to or from Virginia (“Hampton Road”)

British ships made most of the voyages to Virginia in this data set; Dutch ships made a couple. We see a pattern in the routes between the Mid-Atlantic coast and Northern Europe, due to the prevailing winds: when leaving Europe, south near the Azores or Canary Islands then west across the Atlantic; when leaving North America: a more northerly path.

For tabular data see Hampton Road


voyage_list <- df_voyages %>% 
               filter(port_from == "hampton road" | port_to == "hampton road")

plot_voyages(ships = voyage_list$ShipName,
             from = "hampton road",
             to = "hampton road"
)


Looking at the same voyages by year, we see nearly the whole time period represented; only the 1780s are missing.


plot_voyages(ships = voyage_list$ShipName,
             from = "hampton road",
             to = "hampton road",
             color_var = "year"
)


Voyages between US and Netherlands

Our data set includes Dutch voyages from Boston, New York, and Virginia. All occurred after US independence–the first one directly after.

Also see table at US and Netherlands.


ship_list <- 
  c(df_voyages %>% 
      filter(country_from == "united states" & country_to == "netherlands") %>%
      pull(ShipName),
    df_voyages %>%
      filter(country_from == "netherlands" & country_to == "united states") %>%
      pull(ShipName)
  )

plot_voyages(ships = ship_list)

plot_voyages(ships = ship_list,
             color_var = "year")


Voyages between US and France

These voyages occurred in the final months of the American Revolutionary War in 1783 and afterwards.


ship_list <- 
  c(df_voyages %>% 
      filter(country_from == "united states" & country_to == "france") %>%
      pull(ShipName),
    df_voyages %>%
      filter(country_from == "france" & country_to == "united states") %>%
      pull(ShipName)
  )

plot_voyages(ships = ship_list)

plot_voyages(ships = ship_list,
             color_var = "year")


Voyages between Canada and France

Most French voyages occurred before or during the Seven Years War, after which France’s territorial holdings in North America were limited to the small islands of St Pierre and Miquelon, which remain a part of France today.

See also table Canada and France


ship_list <- 
  c(df_voyages %>% 
      filter(country_from == "canada" & country_to == "france") %>%
      pull(ShipName),
    df_voyages %>%
      filter(country_from == "france" & country_to == "canada") %>%
      pull(ShipName)
  )

plot_voyages(ships = ship_list,
             color_var = "year")


Voyages to or from Florida

St. Augustine was founded in 1565 by Spanish explorers and has been inhabited continuously since then–the longest of any city in the continental US. It became the capital of British East Florida in 1763, returned to Spanish control in 1783, then Spain ceded it to the USA in 1819. Our data set includes only British voyages.

Also see table Florida.


plot_voyages(
  from = filter(df_ports, level2 == "florida") %>% pull(port2),
  to = filter(df_ports, level2 == "florida") %>% pull(port2),
  color_var = "year"
)


All voyages of ships that went to to or from Florida at least once

Looking at all the voyages in our data set undertaken by ships that traveled from or to Florida, we see a much wider web going as far as India, Ceylon (now Sri Lanka), Malaysia, and the Dutch East Indies (now Indonesia and nearby island nations). These 7 ships were part of the British Royal Navy.


plot_voyages(ships = voyage_list$ShipName,
             color_var = "year")


Explorations of the northwest coast of North America

Our data set includes Spanish, British and French voyages of discovery along the western coast of North America. The Spanish went further south; the British, further north.

See also table Northwest America


nw_explorers <- 
  get_voyage_details(range_lon = c(-170, -100),
                     range_lat = c(15, 90)
                     )

plot_voyages(ships = nw_explorers$ShipName,
             range_lon = c(-170, -100),
             range_lat = c(15, 90)
)

plot_voyages(ships = nw_explorers$ShipName,
             range_lon = c(-170, -100),
             range_lat = c(15, 90),
             color_var = "year")


James Cook’s first and second voyages of discovery

Our data set includes portions of James Cook’s first circumnavigation westward for the purpose of observing the 1769 transit of Venus in Tahiti and then searching for unknown land to the south, Terra Astralis, Incognita, believed to exist further south than Australia, which was then called New Holland. On this journey he landed in Australia at a place he named Botany Bay in present-day Sydney. Our records include portions of Cook’s second voyage from Britain eastward to New Zealand and eventually around the South American cape and back to Britain. He never found Antarctica, despite coming close, and his experience convinced people that Terra Astralis, Incognita did not exist.

See also table James Cook’s journeys


ship_list <- c("ENDEAVOUR", "RESOLUTION")
cooks_first_journey <- c("1768-01-01", "1771-12-31")
cooks_second_journey <- c("1772-01-01", "1775-12-31")

plot_voyages(ships = ship_list,
             range_dates = cooks_first_journey,
             color_var = "year"
)

plot_voyages(ships = ship_list,
             range_dates = cooks_second_journey,
             color_var = "year"
)

Maps: South America

To and or from Brazil, Uruguay, Argenina

Most voyages in our data from or to South America we between to Montevideo and Spanish ports. Montevideo was Spain’ primary naval base in this period. The trade from the interior via the Río de la Plata (River Plate) passed through Montevideo or Buenos Aires, which sits on the opposite coast of the estuary.

At least some of the British voyages likely contributed to the Battle of Montevideo (1807) or its aftermath, when the British captured and held Montevideo for much of that year.

The voyages to or from Spain occurred before or during the 1780s–well before British blockades of Spanish ports 1797-1893 and 1803-1808.

To:


plot_voyages(to = df_voyages %>% 
      filter(country_to %in% c("brazil", "uruguay", "argenina" ))  %>%
      pull(port_to)
      )

plot_voyages(to = df_voyages %>% 
      filter(country_to %in% c("brazil", "uruguay", "argenina" ))  %>%
      pull(port_to),
      color_var = "year"
      )


<

From:

br>

plot_voyages(from = df_voyages %>% 
      filter(country_from %in% c("brazil", "uruguay", "argenina" ))  %>%
      pull(port_from)
      )

plot_voyages(from = df_voyages %>% 
      filter(country_from %in% c("brazil", "uruguay", "argenina" ))  %>%
      pull(port_from),
      color_var = "year"
      )


The challenge of rounding the Horn traveling west

The track of the french ship La Boussole illustrates the difficulty square-rigged ships faced from storms and contrary winds.

plot_voyages(from = df_voyages %>% 
      filter(country_from %in% c("brazil"),
             Nationality == "FRENCH")  %>%
      pull(port_from),
      ships = "LA BOUSSOLE"
      )


Maps: African Guinea

Triangular trade

In our data set: Dutch and British voyages before 1780 to Guinea, modern day Senegal, Guinea-Bissau, Guinea, Sierra Leone, Liberia, Ivory Coast, Ghana, Togo, Benin, Nigeria, Cameroon, Equatorial Guinea and Gabon. Most voyages were to/from slave trading posts or colonial fortresses. We see two parts of the triangular trade route: from Europe to Guinea, then to the Americas.


plot_voyages(to = df_voyages %>% 
      filter(country_to %in% guinea_coast)  %>%
      pull(port_to),
      range_lat = c(20, -35)
      )

plot_voyages(to = df_voyages %>% 
      filter(country_to %in% guinea_coast)  %>%
      pull(port_to),
      range_lat = c(20, -35),
      color_var = "year"
      )


plot_voyages(from = df_voyages %>% 
      filter(country_from %in% guinea_coast)  %>%
      pull(port_from),
      range_lat = c(20, -35)
      )

plot_voyages(from = df_voyages %>% 
      filter(country_from %in% guinea_coast)  %>%
      pull(port_from),
      range_lat = c(20, -35),
      color_var = "year"
      )


Maps: India and Indonesia

To and from Penang, Malaysia

Our data set includes 28 voyages to or from Penang. There are just enough to see patterns in the routes: leaving the UK for Malaysia, ships stayed near Africa, veered toward Brazil, then picked up the prevailing westerlies between 50 and 60 degrees South, perhaps taking advantage of the Antarctic Circumpolar Current as well.


plot_voyages(to = "penang")


In contrast, when traveling the other direction, captains minimized the time they faced the prevailing westerlies, just barely rounding the Cape, then traveling much further into the north Atlantic before turning towards the UK.


plot_voyages(from = "penang")


To and from India

This pattern is clearer still the tracks to and from India.


plot_voyages(to = df_voyages %>%
               filter(country_to == "india") %>%
               pull(port_to)
)

plot_voyages(to = df_voyages %>%
               filter(country_to == "india") %>%
               pull(port_to),
             color_var = "year"
)


From India

plot_voyages(from = df_voyages %>%
               filter(country_from == "india") %>%
               pull(port_from)
)


To and from Indonesia

The same pattern is largely true for ships going to and from Indonesia. Most were Dutch; the main difference in their route was staying near 60 degrees South longer

plot_voyages(to = df_voyages %>%
               filter(country_to == "indonesia") %>%
               pull(port_to)
)

plot_voyages(to = df_voyages %>%
               filter(country_to == "indonesia") %>%
               pull(port_to),
             color_var = "year"
)


From Indonesia

plot_voyages(from = df_voyages %>%
               filter(country_from == "indonesia") %>%
               pull(port_from)
)

plot_voyages(from = df_voyages %>%
               filter(country_from == "indonesia") %>%
               pull(port_from),
             color_var = "year"
)


The Importance of Chronometers

Perhaps you’ve noticed the unlikely number of horizontal tracks, for example, above when leaving Jakarta and traveling to western India or Yemen or ships approaching St Helena from the East. Ships would round the Cape and find the right latitude well to the east of St Helena. Then they could sail directly west to the island. Why? Because it’s hard to find a small island in a big ocean, and until there were sufficiently accurate chronometers, it was much easier to calculate an accurate latitude than longitude. In the period of this data set, chronometer technology improved a lot, and one can see in the trend towards lesser safety margin in later years.


voyage_list <- df_voyages %>%
               filter(country_from == "india" & port_to == "st helena")

plot_voyages(ships = voyage_list$ShipName,
             from = voyage_list$port_from,
             to = "st helena", 
             range_lon = c(-10, 60),
             range_lat = c(5, -55),
             color_var = "year"
)


Selected data tables

Hampton Road

Voyages to/from Hampton Roads (“hampton road”) in table form. Column names are a subset of the variables in the data frame I used for plotting. Ones with capital letters were in the original data set; I added the ones in lower case.


voyage_list <- df_voyages %>% 
               filter(port_from == "hampton road" | port_to == "hampton road")

summarize_voyages(ships = voyage_list$ShipName,
                  from = "hampton road",
                  to = "hampton road"
) %>% 
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
TRITON 1750-01-01 GIBRALTAR gibraltar uk VIRGINIA hampton road united states BRITISH RN 1750-01-01 1750-01-28 27 28
TRITON 1753-01-01 VIRGINIA hampton road united states CADIZ cádiz spain BRITISH RN 1753-01-01 1753-02-15 45 40
SHOREHAM 1754-06-03 CHARLESTOWN charlestown united states HAMPTON ROAD (VIRGINIA) hampton road united states BRITISH RN 1754-06-04 1754-06-08 4 5
SHOREHAM 1754-06-24 HAMPTON ROAD (VIRGINIA) hampton road united states CHIBUCTO HARBOUR (HALIFAX) chibucto harbour canada BRITISH RN 1754-07-01 1754-07-04 3 4
SHOREHAM 1754-06-24 HAMPTON ROAD (VIRGINIA) hampton road united states HALIFAX (CHIBUCTO HARBOUR) halifax canada BRITISH RN 1754-06-25 1754-06-30 5 6
SHOREHAM 1754-10-12 SANDY HOOK (NEW YORK) sandy hook united states YORK IN VIRGINIA hampton road united states BRITISH RN 1754-10-13 1754-10-15 2 3
SHOREHAM 1754-11-15 YORK IN VIRGINIA hampton road united states CHARLESTOWN charlestown united states BRITISH RN 1754-11-17 1754-11-30 13 14
SYREN 1755-01-15 FUNCHAL ROAD (MADEIRA) madiera portugal VIRGINIA hampton road united states BRITISH RN 1755-01-15 1755-02-18 34 35
SEAHORSE 1755-02-06 MADEIRA madiera portugal VIRGINIA hampton road united states BRITISH RN 1755-02-06 1755-03-02 24 25
SEAHORSE 1755-07-27 VIRGINIA hampton road united states SPITHEAD spithead uk BRITISH RN 1755-07-27 1755-08-20 24 25
BEAVER 1758-01-22 MADEIRA madiera portugal HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1758-01-24 1758-03-08 43 43
LOWESTOFT 1759-02-10 PLYMOUTH plymouth uk HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1759-02-10 1759-02-20 10 11
ASSISTANCE 1761-04-29 SPITHEAD spithead uk HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1761-04-29 1761-05-15 16 16
ASSISTANCE 1761-10-17 VIRGINIA hampton road united states PORTSMOUTH portsmouth uk BRITISH RN 1761-10-17 1761-11-26 40 40
CHESTERFIELD 1761-12-13 SPITHEAD spithead uk HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1761-12-13 1762-02-06 55 56
ARUNDEL 1761-12-25 TORBAY torquay uk HAMPTON ROAD hampton road united states BRITISH RN 1761-12-25 1762-03-12 77 78
DILIGENCE 1763-09-08 PLYMOUTH plymouth uk HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1763-09-08 1763-11-08 61 28
RAINBOW 1766-08-14 HAMPTON hampton road united states MARGRET ROAD (UK) lizard uk BRITISH RN 1766-08-14 1766-09-08 25 25
SQUIRREL 1766-11-19 VIRGINIA hampton road united states SPITHEAD spithead uk BRITISH RN 1766-11-20 1766-12-17 27 28
RIPPON 1768-09-12 SPITHEAD spithead uk HAMPTON ROAD hampton road united states BRITISH RN 1768-09-12 1768-09-18 6 7
BOSTON 1770-01-20 MADEIRA madiera portugal HAMPTON ROAD hampton road united states BRITISH RN 1770-01-20 1770-03-06 45 46
BOSTON 1770-09-01 HAMPTON ROAD hampton road united states HAILFAX hailfax canada BRITISH RN 1770-09-01 1770-09-09 8 9
FOWEY 1771-01-23 CHARLESTOWN charlestown united states NORFOLK VIRGINIA hampton road united states BRITISH RN 1771-01-23 1771-01-31 8 9
FOWEY 1771-04-12 HAMPTON ROAD VIRGINIA hampton road united states BOSTON boston united states BRITISH RN 1771-04-12 1771-04-21 9 10
GLASGOW 1772-04-26 BOSTON boston united states HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1772-04-26 1772-05-05 9 10
CRUIZER 1773-10-06 RHODE ISLAND rhode island united states VIRGINIA hampton road united states BRITISH RN 1773-10-06 1773-10-12 6 6
LIVERPOOL 1775-09-16 SPITHEAD spithead uk NORFOLK, VIRGINIA hampton road united states BRITISH RN 1775-09-16 1775-11-25 70 30
ANDROMEDA 1797-02-16 BERMUDA bermuda bermuda HAMPTON ROAD hampton road united states BRITISH RN 1797-02-16 1797-03-07 19 20
ST ALBANS 1797-02-24 LISBON lisbon portugal HAMPTON ROAD, VIRGINIA hampton road united states BRITISH RN 1797-02-24 1797-04-14 49 46
ST ALBANS 1799-02-25 HAMPTON ROAD hampton road united states HALIFAX halifax canada BRITISH RN 1799-02-25 1799-05-20 84 51
SWAN 1800-05-30 MONA ISLAND mona island puerto rico HAMPTON ROAD VIRGINIA hampton road united states BRITISH RN 1800-05-31 1800-06-09 9 9
LILLY 1800-12-15 BERMUDA bermuda bermuda CHESAPEAKE hampton road united states BRITISH RN 1800-12-15 1800-12-25 10 11
LILLY 1801-01-13 VIRGINIA hampton road united states NEW PROVIDENCE new providence united states BRITISH RN 1801-01-13 1801-01-21 8 9
LILLY 1801-02-03 NEW PROVIDENCE new providence united states HAMPTON ROAD hampton road united states BRITISH RN 1801-02-03 1801-03-04 29 30
LILLY 1801-03-13 HAMPTON ROAD hampton road united states HALIFAX halifax canada BRITISH RN 1801-03-13 1801-04-02 20 21
BRUTUS 1802-02-12 BREST brest france HAMPTON hampton road united states DUTCH MAR 1802-02-12 1802-05-08 85 64
JOAN DE WITT 1802-04-17 CAAP FRANCAIS cap-haitien haiti HAMPTON hampton road united states DUTCH MAR 1802-04-17 1802-05-11 24 23
BRUTUS 1802-06-29 HAMPTON hampton road united states TEXEL texel netherlands DUTCH MAR 1802-06-29 1802-08-01 33 34
JOAN DE WITT 1802-06-29 HAMPTON hampton road united states NEDERLAND den helder netherlands DUTCH MAR 1802-06-29 1802-08-10 42 40
LILLY 1803-05-04 BERMUDA bermuda bermuda HAMPTON ROAD hampton road united states BRITISH RN 1803-05-04 1803-05-10 6 7
LILLY 1803-05-19 HAMPTON ROAD hampton road united states HALIFAX halifax canada BRITISH RN 1803-05-19 1803-05-31 12 13
PHAETON 1804-01-29 HAMPTON ROAD, VIRGINIA hampton road united states MADRAS madras india BRITISH RN 1804-01-29 1804-05-22 114 115
PHAETON 1804-09-01 SPITHEAD spithead uk HAMPTON ROAD, VIRGINIA hampton road united states BRITISH RN 1804-09-01 1804-09-30 29 27
AMAZON 1806-08-10 NEWFOUNDLAND newfoundland canada VIRGINIA hampton road united states BRITISH RN 1806-08-10 1806-09-22 43 44
REGULUS 1814-12-19 TANGIER BAY, CHESAPEAKE hampton road united states CUMBERLAND ISLAND, FLORIDA florida united states BRITISH RN 1814-12-19 1815-01-07 19 20
27 ships and 45 voyages; ships from 2 nationalities


US and Netherlands

ship_list <- 
  c(df_voyages %>% 
      filter(country_from == "united states" & country_to == "netherlands") %>%
      pull(ShipName),
    df_voyages %>%
      filter(country_from == "netherlands" & country_to == "united states") %>%
      pull(ShipName)
  )

summarize_voyages(ships = ship_list) %>%
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
WINDHOND 1783-07-01 HELLEVOETSLUIS hellevoetsluis netherlands PHILADELPHIA philadelphia united states DUTCH ADM 1783-07-09 1783-09-23 76 71
WINDHOND 1783-12-05 PHILADELPHIA philadelphia united states TERVEUR terveur NA DUTCH ADM 1783-12-07 1784-01-09 33 34
JOAN DE WITT 1802-01-05 NEDERLAND den helder netherlands ST CRUZ santa cruz de tenerife spain DUTCH MAR 1802-02-13 1802-02-25 12 13
BRUTUS 1802-02-12 BREST brest france HAMPTON hampton road united states DUTCH MAR 1802-02-12 1802-05-08 85 64
JOAN DE WITT 1802-03-01 ST CRUZ santa cruz de tenerife spain CAAP FRANCAIS cap-haitien haiti DUTCH MAR 1802-03-01 1802-04-02 32 33
JOAN DE WITT 1802-04-17 CAAP FRANCAIS cap-haitien haiti HAMPTON hampton road united states DUTCH MAR 1802-04-17 1802-05-11 24 23
BRUTUS 1802-06-29 HAMPTON hampton road united states TEXEL texel netherlands DUTCH MAR 1802-06-29 1802-08-01 33 34
JOAN DE WITT 1802-06-29 HAMPTON hampton road united states NEDERLAND den helder netherlands DUTCH MAR 1802-06-29 1802-08-10 42 40
HANNACH 1807-07-07 TEXEL texel netherlands NEW YORK new york united states AMERICAN NA 1807-07-07 1807-09-05 60 59
AJAX 1814-06-06 HELLEVOETSLUIS hellevoetsluis netherlands BOSTON boston united states DUTCH MAR 1814-06-06 1814-07-27 51 52
AJAX 1814-10-19 BOSTON boston united states TEXEL texel netherlands DUTCH MAR 1814-10-19 1814-11-21 33 34
ATTELANTE 1815-07-03 NEDERLAND den helder netherlands NEW YORK new york united states DUTCH THOMAS BROUW EN ZN 1815-07-03 1815-09-05 64 64
ATTELANTE 1815-10-19 NEW YORK new york united states SCHIEDAM rotterdam netherlands DUTCH THOMAS BROUW EN ZN 1815-10-21 1815-11-17 27 28
6 ships and 13 voyages; ships from 2 nationalities


Canada and France

ship_list <- 
  c(df_voyages %>% 
      filter(country_from == "canada" & country_to == "france") %>%
      pull(ShipName),
    df_voyages %>%
      filter(country_from == "france" & country_to == "canada") %>%
      pull(ShipName)
  )

summarize_voyages(ships = ship_list) %>%
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
LE PROTHÉE 1750-05-18 BREST brest france LOUISBOURG louisbourg canada FRENCH NA 1750-05-18 1750-07-03 46 47
LE PROTHÉE 1750-08-01 LOUISBOURG louisbourg canada CADIX cádiz spain FRENCH NA 1750-08-01 1750-08-24 23 24
LE PROTHÉE 1750-10-31 CADIX cádiz spain BREST brest france FRENCH NA 1750-11-01 1750-11-30 29 30
LE TRITON 1751-05-23 MALAGA málaga spain LOUISBOURG louisbourg canada FRENCH NA 1751-05-26 1751-06-16 21 21
L'HEUREUX 1751-06-15 ROCHEFORT rochefort france LOUISBOURG louisbourg canada FRENCH NA 1751-06-15 1751-08-04 50 50
LE CHARIOT ROYAL 1751-06-27 ROCHEFORT rochefort france QUÉBEC québec city canada FRENCH NA 1751-07-05 1751-08-25 51 52
LE TRITON 1751-07-28 LOUISBOURG louisbourg canada LOUISBOURG louisbourg canada FRENCH NA 1751-08-04 1751-08-12 8 3
LA SEINE 1751-09-03 ROCHEFORT rochefort france LOUISBOURG louisbourg canada FRENCH NA 1751-09-03 1751-10-07 34 35
L'HEUREUX 1751-09-13 LOUISBOURG louisbourg canada ROCHEFORT rochefort france FRENCH NA 1751-09-13 1751-10-06 23 24
LE TRITON 1751-09-14 LOUISBOURG louisbourg canada TOULON toulon france FRENCH NA 1751-09-15 1751-10-22 37 28
LE CHARIOT ROYAL 1751-10-27 QUÉBEC québec city canada ROCHEFORT rochefort france FRENCH NA 1751-11-07 1751-11-26 19 20
LA SEINE 1751-11-27 LOUISBOURG louisbourg canada ROCHEFORT rochefort france FRENCH NA 1751-11-27 1752-01-02 36 37
LE CHARIOT ROYAL 1752-04-13 ROCHEFORT rochefort france ILES ST PIERRE, TERRE NEUVE, ILE ROYALE ET RETOUR NA NA FRENCH NA 1752-04-14 1752-05-06 22 22
LA SEINE 1752-05-27 ROCHEFORT rochefort france QUEBEC québec city canada FRENCH NA 1752-05-27 1752-07-14 48 49
LE CHARIOT ROYAL 1752-06-28 ROCHEFORT rochefort france ILES ST PIERRE, TERRE NEUVE, ILE ROYALE ET RETOUR NA NA FRENCH NA 1752-06-28 1752-07-13 15 16
LA SEINE 1752-08-21 QUÉBEC québec city canada ROCHEFORT rochefort france FRENCH NA 1752-08-26 1752-09-17 22 23
LE RHINOCEROS 1753-05-01 ROCHEFORT rochefort france LOUISBOURG louisbourg canada FRENCH NA 1753-05-03 1753-06-09 37 38
LE BIZARRE 1753-05-04 BREST brest france LOUISBOURG louisbourg canada FRENCH NA 1753-05-04 1753-06-14 41 42
LA SEINE 1753-06-26 ROCHEFORT rochefort france QUÉBEC québec city canada FRENCH NA 1753-06-27 1753-08-22 56 57
LE RHINOCEROS 1753-07-06 LOUISBOURG louisbourg canada ROCHEFORT rochefort france FRENCH NA 1753-07-06 1753-08-02 27 27
LE PARHAM 1753-07-29 ILE D'AIX ile d'aix france LOUISBOURG ET RTOUR A ROCHEFORT louisbourg canada FRENCH NA 1753-07-30 1753-09-10 42 43
LA SEINE 1753-10-07 QUÉBEC québec city canada ISLE D'AIX ile d'aix france FRENCH NA 1753-10-30 1753-11-23 24 25
LE BIZARRE 1753-10-14 LOUISBOURG louisbourg canada BREST brest france FRENCH NA 1753-10-14 1753-11-11 28 29
LE PARHAM 1753-12-02 ILE D'AIX ile d'aix france LOUISBOURG ET RTOUR A ROCHEFORT louisbourg canada FRENCH NA 1753-12-02 1753-12-25 23 24
LE PARHAM 1754-05-06 ROCHEFORT rochefort france LOUISBOURG ET RETOUR A ROCHEFORT louisbourg canada FRENCH NA 1754-05-19 1754-07-17 59 59
LE AIGLE 1754-05-20 L'ISLE D'AIX ile d'aix france LOUISBOURG ET RETOUR A L'ISLE D'AIX louisbourg canada FRENCH NA 1754-06-21 1754-08-14 54 50
LE PARHAM 1754-09-02 ROCHEFORT rochefort france LOUISBOURG ET RETOUR A ROCHEFORT louisbourg canada FRENCH NA 1754-09-02 1754-10-07 35 36
LE AIGLE 1754-10-11 L'ISLE D'AIX ile d'aix france LOUISBOURG ET RETOUR A L'ISLE D'AIX louisbourg canada FRENCH NA 1754-10-12 1754-11-03 22 23
LA DIANE 1755-03-09 ISLE D'AIX ile d'aix france LOUISBOURG louisbourg canada FRENCH NA 1755-03-15 1755-04-30 46 47
L'ACTIF 1755-05-03 BREST brest france QUÉBEC québec city canada FRENCH NA 1755-05-04 1755-06-14 41 42
LA DIANE 1755-08-05 QUEBEC québec city canada ROCHEFORT rochefort france FRENCH NA 1755-08-20 1755-09-10 21 22
L'ACTIF 1755-08-25 QUÉBEC québec city canada BREST brest france FRENCH NA 1755-09-02 1755-09-20 18 19
LE VALEUR 1755-09-14 L'ILE D'AIX ile d'aix france LOUISBOURG ET RETOUR A ROCHEFORT louisbourg canada FRENCH NA 1755-09-15 1755-10-28 43 44
LE RHINOCEROS 1755-10-17 ROCHEFORT rochefort france LOUISBOURG louisbourg canada FRENCH NA 1755-10-26 1755-11-16 21 22
LE RHINOCEROS 1755-12-20 LOUISBOURG louisbourg canada ROCHEFORT rochefort france FRENCH NA 1755-12-20 1756-01-06 17 18
LE RHINOCEROS 1756-02-23 ROCHEFORT rochefort france LOUISBOURG louisbourg canada FRENCH NA 1756-02-24 1756-03-25 30 31
LE RHINOCEROS 1756-04-21 LOUISBOURG louisbourg canada ROCHEFORT rochefort france FRENCH NA 1756-04-22 1756-05-26 34 35
LE VALEUR 1756-06-28 L'ILE D'AIX ile d'aix france LOUISBOURG ET RETOUR A ROCHEFORT louisbourg canada FRENCH NA 1756-06-28 1756-07-16 18 19
LA SEINE 1768-08-28 LE HABRE le havre france ST MARTIN DE RHÉ la rochelle france FRENCH NA 1768-08-28 1768-11-21 85 12
LA SEINE 1768-12-09 ST MARTIN DE RHÉ la rochelle france MARTINIQUE martinique lesser antilles FRENCH NA 1768-12-09 1769-01-13 35 36
LA SEINE 1769-03-31 DOMINIQUE dominica lesser antilles BREST brest france FRENCH NA 1769-04-01 1769-04-30 29 30
LA SEINE 1769-10-11 BREST brest france FORT ROYAL jamaica jamaica FRENCH NA 1769-10-13 1769-11-25 43 44
LA SEINE 1770-07-02 DOMINIQUE dominica lesser antilles BREST brest france FRENCH NA 1770-07-04 1770-08-01 28 29
LA BELETTE 1784-04-20 TOULON toulon france ALMERIE AUX L'ILLE DE TERRE NEUVE ET RETOUR A BRES newfoundland canada FRENCH NA 1784-05-07 1784-10-16 162 65
L'EXPERIMENT 1788-04-30 BREST brest france TERRE NEUVE newfoundland canada FRENCH NA 1788-05-01 1788-09-04 126 57
LA GRACIENSE 1788-05-18 ROCHEFORT rochefort france MEDITERRANEAN mediterranean mediterranean FRENCH NA 1788-06-01 1788-09-03 94 63
L'EXPERIMENT 1788-09-22 TERRE NEUVE newfoundland canada BREST brest france FRENCH NA 1788-09-22 1788-10-05 13 13
LA GRACIENSE 1788-09-24 COULON la rochelle france MARTINIQUE martinique lesser antilles FRENCH NA 1788-11-15 1788-12-02 17 18
LA GRACIENSE 1788-10-30 COULON la rochelle france MARTINIQUE martinique lesser antilles FRENCH NA 1788-10-31 1788-11-14 14 10
LA GRACIENSE 1789-04-19 MARTINIQUE martinique lesser antilles ST PIERRE saint-pierre france FRENCH NA 1789-04-19 1789-05-21 32 17
LA GRACIENSE 1789-09-09 LE BAYE DU CROC newfoundland canada ST PIERRE saint-pierre france FRENCH NA 1789-09-10 1789-09-14 4 5
LA GRACIENSE 1789-10-08 ST PIERRE saint-pierre france MARTINIQUE martinique lesser antilles FRENCH NA 1789-10-08 1789-10-30 22 23
LA GRACIENSE 1790-04-06 MARTINIQUE martinique lesser antilles ROCHEFORT rochefort france FRENCH NA 1790-04-08 1790-05-05 27 27
15 ships and 53 voyages; ships from 1 nationalities

<br

Florida

Summary:


voyage_list <- df_voyages %>% 
  filter(str_detect(port_to, "florida") | str_detect(port_from, "florida"))

summarize_voyages(ships = voyage_list$ShipName,
                  from = c("florida", "cape florida", "florida bay"),
                  to = c("florida", "cape florida", "florida bay")
) %>% 
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
GLASGOW 1763-05-07 CAPE FLORIDA cape florida united states SPITHEAD spithead uk BRITISH RN 1763-05-07 1763-06-14 38 39
MARTIN 1783-12-09 FLORIDA florida united states NOVA SCOTIA nova scotia canada BRITISH RN 1783-12-09 1783-12-26 17 18
INTREPID 1796-08-29 CAPE OF FLORIDA cape florida united states DOWNS downs uk BRITISH RN 1796-08-29 1796-10-09 41 42
REGULUS 1814-12-19 TANGIER BAY, CHESAPEAKE hampton road united states CUMBERLAND ISLAND, FLORIDA florida united states BRITISH RN 1814-12-19 1815-01-07 19 20
4 ships and 4 voyages; ships from 1 nationalities


Northwest America

nw_explorers <- 
  get_voyage_details(range_lon = c(-170, -100),
                     range_lat = c(15, 90)
                     )

summarize_voyages(ships = nw_explorers$ShipName,
                  range_lon = c(-170, -100),
                  range_lat = c(15, 90),
) %>%
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
NA SA DEL ROSARIO 1780-11-23 SISIRÁN sisirán philippines SAN BLAS (NUEVA ESPAÑA) san blas mexico SPANISH NA 1781-08-09 1781-09-26 48 49
QUEEN CHARLOTTE 1786-01-23 PORT EGMONT port egmont falkland islands SANDWICH ISLANDS hawaii united states BRITISH NA 1786-05-07 1786-05-24 17 18
LA BOUSSOLE 1786-04-11 ILE DE PAQUE easter island chile ILE MOWÉE maui united states FRENCH NA 1786-05-13 1786-05-29 16 17
QUEEN CHARLOTTE 1786-05-27 OWHYHEE hawaii united states WOAHOO hawaii united states BRITISH NA 1786-05-30 1786-06-01 2 2
LA BOUSSOLE 1786-05-31 ILE MOWÉE maui united states PORT DES FRANCAIS lituya bay united states FRENCH NA 1786-05-31 1786-07-03 33 34
QUEEN CHARLOTTE 1786-06-14 SANDWICH ISLANDS hawaii united states COAL HARBOUR vancouver canada BRITISH NA 1786-06-14 1786-07-19 35 36
LA BOUSSOLE 1786-08-01 PORT DES FRANCAIS lituya bay united states MONTEREY monterey mexico FRENCH NA 1786-08-01 1786-09-14 44 45
QUEEN CHARLOTTE 1786-08-13 COAL HARBOUR vancouver canada MONTAGUE ISLE montague island united states BRITISH NA 1786-08-14 1786-08-18 4 5
QUEEN CHARLOTTE 1786-08-19 MONTAGUE ISLE montague island united states SANDWICH ISLANDS hawaii united states BRITISH NA 1786-08-21 1786-11-15 86 82
LA BOUSSOLE 1786-09-25 MONTEREY monterey mexico LA CÔTE DE CHINE hong kong china FRENCH NA 1786-09-25 1786-11-08 44 45
QUEEN CHARLOTTE 1787-03-15 SANDWICH ISLANDS hawaii united states PRINCE WILLIAM'S SOUND prince william sound united states BRITISH NA 1787-03-15 1787-04-25 41 42
QUEEN CHARLOTTE 1787-06-04 PORT MULGRAVE port mulgrave alaska NORFOLK SOUND sitka sound united states BRITISH NA 1787-06-06 1787-06-12 6 7
QUEEN CHARLOTTE 1787-06-23 PORT BANKS port banks united states KING GEORGE'S SOUND nootka sound canada BRITISH NA 1787-06-24 1787-08-08 45 27
QUEEN CHARLOTTE 1787-08-09 KING GEORGE'S SOUND nootka sound canada SANDWICH ISLANDS hawaii united states BRITISH NA 1787-08-09 1787-09-10 32 29
QUEEN CHARLOTTE 1787-09-19 SANDWICH ISLANDS hawaii united states MACAO macau china BRITISH NA 1787-09-19 1787-09-23 4 5
LA PRINCESA 1789-02-19 SAN BLAS san blas mexico SAN LORENZO DE NUCA nootka sound canada SPANISH NA 1789-02-20 1789-12-05 288 105
LA ATREVIDA 1791-01-07 ACAPULCO acapulco mexico SAN BLAS san blas mexico SPANISH NA 1791-02-26 1791-03-30 32 20
LA ATREVIDA 1791-01-07 DESCONOCIDO (MARES DE NICARAGUA) unknown NA ACAPULCO acapulco mexico SPANISH NA 1791-01-30 1791-02-01 2 3
LA ATREVIDA 1791-01-07 SAN BLAS san blas mexico ACAPULCO acapulco mexico SPANISH NA 1791-04-13 1791-04-19 6 7
NA SA DE ARANZAZU 1792-03-20 SAN BLAS san blas mexico AMÉRICA SEPTENTRIONAL(NOKA) américa NA SPANISH NA 1792-03-24 1792-05-14 51 51
NA SA DE ARANZAZU 1792-06-13 NOKA nootka sound canada BUCARELY bucareli bay united states SPANISH NA 1792-06-13 1792-06-24 11 11
NA SA DE ARANZAZU 1792-07-11 BUCARELY bucareli bay united states NOKA nootka sound canada SPANISH NA 1792-07-11 1792-07-14 3 4
NA SA DE ARANZAZU 1792-07-17 BUCARELY bucareli bay united states FLORIDA BLANCA puerto san julián argentina SPANISH NA 1792-07-17 1792-07-20 3 4
NA SA DE ARANZAZU 1792-07-22 FLORIDA BLANCA puerto san julián argentina SURGIDERO DE SAN ROQUE george island canada SPANISH NA 1792-07-22 1792-07-31 9 10
NA SA DE ARANZAZU 1792-08-30 SURGIDERO DE SAN ROQUE george island canada NOKA nootka sound canada SPANISH NA 1792-08-30 1792-09-07 8 9
NA SA DE ARANZAZU 1792-10-03 NOKA nootka sound canada MONTERREY monterey mexico SPANISH NA 1792-10-03 1792-10-22 19 20
NA SA DE ARANZAZU 1793-01-14 MONTERREY monterey mexico SAN BLAS san blas mexico SPANISH NA 1793-01-14 1793-02-05 22 22
EL ACTIVO 1794-02-13 SAN BLAS san blas mexico REALEJO realejo nicaragua SPANISH NA 1794-02-13 1794-03-15 30 14
MAGALLANES 1797-10-04 ESTRECHO DE SAN BERNARDINO manila philippines ACAPULCO acapulco mexico SPANISH NA 1797-11-24 1798-01-09 46 41
8 ships and 29 voyages; ships from 3 nationalities


James Cook’s journeys

ship_list <- c("ENDEAVOUR", "RESOLUTION")
cooks_journeys <- c("1768-01-01", "1774-12-31")

summarize_voyages(ships = ship_list,
                  range_dates = cooks_journeys
) %>%
  as_raw_html()
ShipName VoyageIni VoyageFrom port_from country_from VoyageTo port_to country_to Nationality Company date_first date_last n_days n_obs
ENDEAVOUR 1768-08-27 DEPTFORD london uk MADEIRA madiera portugal BRITISH RN 1768-08-27 1768-09-12 16 17
ENDEAVOUR 1768-09-19 MADEIRA madiera portugal RIO DE JANEIRO río de janeiro brazil BRITISH RN 1768-09-20 1768-11-13 54 55
ENDEAVOUR 1768-12-08 RIO DE JANEIRO río de janeiro brazil TIERRA DEL FUEGO tierra del fuego argentina BRITISH RN 1768-12-08 1769-01-26 49 36
ENDEAVOUR 1769-01-27 TIERRA DEL FUEGO tierra del fuego argentina TAHITI papeete french polynesia BRITISH RN 1769-01-27 1769-04-12 75 76
ENDEAVOUR 1769-09-01 TAHITI papeete french polynesia NEW ZEALAND wellington new zealand BRITISH RN 1769-09-01 1769-10-07 36 37
ENDEAVOUR 1771-01-17 JAVA jakarta indonesia CAPE OF GOOD HOPE cape of good hope south africa BRITISH RN 1771-01-17 1771-03-12 54 55
ENDEAVOUR 1771-01-17 JAVA jakarta indonesia CAPE OF GOOD HOPE cape of good hope NA BRITISH RN 1771-01-17 1771-03-12 54 55
ENDEAVOUR 1771-04-17 CAPE OF GOOD HOPE cape of good hope south africa UK spithead uk BRITISH RN 1771-04-17 1771-07-10 84 81
ENDEAVOUR 1771-04-17 CAPE OF GOOD HOPE cape of good hope south africa UK spithead NA BRITISH RN 1771-04-17 1771-07-10 84 81
ENDEAVOUR 1771-04-17 CAPE OF GOOD HOPE cape of good hope NA UK spithead uk BRITISH RN 1771-04-17 1771-07-10 84 81
ENDEAVOUR 1771-04-17 CAPE OF GOOD HOPE cape of good hope NA UK spithead NA BRITISH RN 1771-04-17 1771-07-10 84 81
RESOLUTION 1772-07-13 PLYMOUTH plymouth uk NEW ZEALAND wellington new zealand BRITISH RN 1772-07-14 1773-03-25 254 208
RESOLUTION 1773-06-09 NEW ZEALAND wellington new zealand TAHITI papeete french polynesia BRITISH RN 1773-06-10 1773-08-15 66 67
RESOLUTION 1773-09-18 TAHITI papeete french polynesia TONGA tongatapu tonga BRITISH RN 1773-09-18 1773-09-30 12 13
RESOLUTION 1773-10-08 PYLSTAERT (NR TONGA) tongatapu tonga NEW ZEALAND wellington new zealand BRITISH RN 1773-10-08 1773-10-21 13 14
RESOLUTION 1773-11-27 CAPE PALLISSER NEW ZEALAND wellington new zealand EASTER ISLAND easter island chile BRITISH RN 1773-11-27 1774-03-11 104 105
RESOLUTION 1774-03-18 EASTER ISLAND easter island chile MARQUESAS marquesas french polynesia BRITISH RN 1774-03-18 1774-04-06 19 19
RESOLUTION 1774-04-13 MARQUESAS marquesas french polynesia TAHITI papeete french polynesia BRITISH RN 1774-04-13 1774-04-22 9 10
RESOLUTION 1774-06-05 TAHITI papeete french polynesia TONGA tongatapu tonga BRITISH RN 1774-06-05 1774-06-21 16 17
RESOLUTION 1774-10-12 NEW CALEDONIA new caledonia french polynesia NEW ZEALAND wellington new zealand BRITISH RN 1774-10-12 1774-10-17 5 6
RESOLUTION 1774-11-11 NEW ZEALAND wellington new zealand TOWARDS CAPE HORN strait of magellan chile BRITISH RN 1774-11-12 1774-12-17 35 34
2 ships and 21 voyages; ships from 1 nationalities


Notes

Acknowledgements

I was inspired by Simon Coulombe’s write up: Animated map of ships, 1750-1799 which makes use of the Climatological Database for the World’s Oceans (CLIWOC)

The Climatological Database for the World’s Oceans (CLIWOC) represents the culmination of a major project funded by the European Union, and pursued by a large team of researchers in organizations and universities around the world. … You can read more about how the database was originally coded, and has now been reformatted, at Steven’s website. This is essential reading if you’d like to use the database for climate history research.

To interpret nautical terms in the database, you will likely need to use a dictionary created as part of the CLIWOC project.

I could have got the data from source at https://www.historicalclimatology.com/cliwoc.html; however Simon offers a download that is already cleaned up a bit:

I referred a lot to the codebook at https://stvno.github.io/page/cliwoc/

Thanks to the EU for funding the digitization and to everyone who did the work to get the data in a state that made my task so easy. And thanks to Claus Wilke for providing the code pattern for plotting a globe with simple features (sf R package), which Simon and I both followed.

Adrien Charles (and others?) at Axxio made a nice visualization in Tableau here: https://www.axxio.io/the-age-of-discovery/ , and there are other examples a web search away. I did not consult them.


Possible improvements

I could do some of the following:

  • Look at duration, distance, and time in port by company; currently I’m only looking at it by nationality
  • Look at areas for differences in average velocity or distribution of velocities
  • Look at differences in average duration or in opposite directions between the same ports
  • Look at changes in durations or routes from the early years to the later years, e.g., British and Dutch journeys from Jakarta to a UK or Dutch port, respectively




By Daniel Moul (heydanielmoul via gmail)

CC-BY This work is licensed under a Creative Commons Attribution 4.0 International License